home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / Graphics / StereoScope / Source / DefaultHandler.m < prev    next >
Text File  |  1994-04-01  |  1KB  |  72 lines

  1. /*
  2.  * Simple default handler.
  3.  * M. J. Hawley
  4.  * mike@media-lab.mit.edu
  5.  * Copyright (c) November 1991, MIT Media Laboratory.
  6.  */
  7. #import "DefaultHandler.h"
  8. #import <defaults/defaults.h>
  9. #import <appkit/Application.h>
  10.  
  11. extern id NXApp;
  12.  
  13. @implementation DefaultHandler
  14.  
  15. #define appname [NXApp appName]
  16.  
  17. char TmpDir[1024] = "/tmp";
  18. char ArchiveFormat[1024] = ".tar.Z";
  19. char EyeOffset[1024] = "";
  20. char FirstUsed[1024] = "";
  21. char Cube[1024] = "";
  22. char Axes[1024] = "";
  23.  
  24. static NXDefaultsVector Defaults = {
  25. /*
  26.     {"TmpDir",  TmpDir},
  27.     {"ArchiveFormat",  ArchiveFormat},
  28.     {"FirstUsed",  FirstUsed},
  29. */
  30.     {"EyeOffset",  EyeOffset},
  31.     {"Cube",  Cube},
  32.     {"Axes",  Axes},
  33.     {NULL}
  34. };
  35.  
  36. char *
  37. deflt(char *s){
  38.     return (char *)NXGetDefaultValue(appname,s);
  39. }
  40.  
  41. + loadDefaults {
  42.     char *s;
  43. #define l(x,xs) s = deflt(xs); if (s && *s) strcpy(x,s)
  44. /*
  45.     l(TmpDir,"TmpDir");
  46.     l(ArchiveFormat,"ArchiveFormat");
  47.     l(FirstUsed,"FirstUsed");
  48. */
  49.     l(EyeOffset,"EyeOffset");
  50.     l(Cube,"Cube");
  51.     l(Axes,"Axes");
  52.     return self;
  53. }
  54.  
  55. + initialize {
  56.     NXRegisterDefaults(appname, Defaults);
  57.     [self loadDefaults];
  58.     return self;
  59. }
  60.  
  61. - writeDefaults:sender {
  62.     NXWriteDefaults(appname, Defaults);
  63.     return self;
  64. }
  65.  
  66. - free {
  67.     [self writeDefaults:self];
  68.     [super free];
  69.     return self;
  70. }
  71. @end
  72.